package com.wyl.showtype.basic.geo.geojson;

/**
 *
 */
public enum GeoTypeEnum {

    /**
     * Point代表一个点，由经度和纬度组成。例如：
     * {
     *   "type": "Point",
     *   "coordinates": [102.0, 0.5]
     * }
     */
    Point,
    /**
     * LineString代表一条线段，由一系列点组成。例如：
     * {
     *   "type": "LineString",
     *   "coordinates": [
     *     [102.0, 0.0],
     *     [103.0, 1.0],
     *     [104.0, 0.0],
     *     [105.0, 1.0]
     *   ]
     * }
     */
    LineString,
    /**
     * Polygon代表一个多边形，由一系列点组成。例如：
     * {
     *   "type": "Polygon",
     *   "coordinates": [
     *     [
     *       [100.0, 0.0],
     *       [101.0, 0.0],
     *       [101.0, 1.0],
     *       [100.0, 1.0],
     *       [100.0, 0.0]
     *     ]
     *   ]
     * }
     */
    Polygon,
    /**
     * MultiPoint、MultiLineString和MultiPolygon：这些类型代表一个包含多个点、线段或多边形的集合。例如：
     * {
     *   "type": "MultiPolygon",
     *   "coordinates": [
     *     [
     *       [
     *         [102.0, 2.0],
     *         [103.0, 2.0],
     *         [103.0, 3.0],
     *         [102.0, 3.0],
     *         [102.0, 2.0]
     *       ]
     *     ],
     *     [
     *       [
     *         [100.0, 0.0],
     *         [101.0, 0.0],
     *         [101.0, 1.0],
     *         [100.0, 1.0],
     *         [100.0, 0.0]
     *       ]
     *     ]
     *   ]
     * }
     */
    MultiPoint,
    MultiLineString,
    MultiPolygon,
    /**
     * 代表各种几何图形的集合
     */
    GeometryCollection,
    /**
     * Feature表示一个地理实体，它由两部分组成：Geometry和Properties。其中，
     * Geometry指定了实体在空间中的位置和形状，可以是Point、LineString或Polygon等类型；
     * Properties则包含了实体的各种属性信息，如名称、描述、类型等等
     *
     * {
     *     "type": "Feature",
     *     "geometry": {
     *         "type": "Point",
     *         "coordinates": [102.0, 0.5]
     *     },
     *     "properties": {
     *         "name": "GeoJSON Feature Example",
     *         "description": "This is an example of a GeoJSON feature"
     *     }
     * }
     */
    Feature,
    /**
     * FeatureCollection是一组Feature对象的集合，一个完整的FeatureCollection对象示例如下：
     * {
     *     "type": "FeatureCollection",
     *     "features": [
     *         {
     *             "type": "Feature",
     *             "geometry": {
     *                 "type": "Point",
     *                 "coordinates": [-105.01621, 39.57422]
     *             },
     *             "properties": {
     *                 "name": "Location A",
     *                 "description": "This is the description of Location A."
     *             }
     *         },
     *         {
     *             "type": "Feature",
     *             "geometry": {
     *                 "type": "Point",
     *                 "coordinates": [-104.98404, 39.57344]
     *             },
     *             "properties": {
     *                 "name": "Location B",
     *                 "description": "This is the description of Location B."
     *             }
     *         }
     *     ]
     * }
     */
    FeatureCollection,

}
